import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import axios from "axios"//ajax



import ViewUIPlus from 'view-ui-plus'//组件库
import 'view-ui-plus/dist/styles/viewuiplus.css'
import 'font-awesome/css/font-awesome.min.css'//字体样式
import * as echarts from 'echarts';//百度统计图
import apiUrl from './api/api.js'//全部请求接口
import common from './api/common.js'//全部请求接口
import axiosInterceptor from './util/axios/axiosInterceptor.js'// axios 拦截器

import { createPinia } from 'pinia'// 导入 pinia
// 创建 pinia 实例
const pinia = createPinia()

// import { useStore } from 'vuex' // 引入useStore 方法
// const store = useStore()  // 该方法用于返回store 实例


//图片预览
import 'viewerjs/dist/viewer.css'
import VueViewer from 'v-viewer'



//初始化MxDraw插件 避免重复调用 控制台报错
import { loadCoreCode } from "mxdraw"
loadCoreCode()



//无界
// import { bus, setupApp, preloadApp, startApp, destroyApp } from "wujie";
import WujieVue from "wujie-vue3";//无界插件
import "./util/wuJIe/wuJieInteractive";//无界业务对接    暂时 不需要 调用 直接引用即可
// import wuJieInteractive from "./util/wuJIe/wuJieInteractive";//无界业务对接

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


const app = createApp(App)


// app.use(store);
app.use(ViewUIPlus);
app.use(router.router);
app.use(pinia);
app.use(VueViewer.default, {
    defaultOptions: {
        zIndex: 3000,
        inline: false, // Default: false. Enable inline mode.
        button: true, // Show the button on the top-right of the viewer.
        navbar: true, // Specify the visibility of the navbar.
        title: false, // Specify the visibility and the content of the title.
        toolbar: false, // Specify the visibility and layout of the toolbar its buttons.
        tooltip: true, // Show the tooltip with image ratio (percentage) when zooming in or zooming out.
        movable: true, // Enable to move the image.
        zoomable: true, // Enable to zoom the image.
        rotatable: false, // Enable to rotate the image.
        scalable: true, // Enable to scale the image.
        transition: true, // Enable CSS3 Transition for some special elements.
        fullscreen: false, // Enable to request full screen when play.
        keyboard: true, // Enable keyboard support.
        url: 'src', // Default: 'src'. Define where to get the original image URL for viewing.
    }
})

app.config.globalProperties.$echarts = echarts;//百度统计图 全局变量
// app.config.globalProperties.$axiosInterceptor = axiosInterceptor;

app.config.warnHandler = () => null

app.provide('$axios', axios)
app.provide('$apiUrl', apiUrl);//全局引用接口地址
app.provide('$axiosInterceptor', axiosInterceptor);//全局引用接口地址
app.provide('$ViewUIPlus', ViewUIPlus);//组件全局引用
app.provide('$common', common);//自己封装的方法
app.provide('$echarts', echarts);//自己封装的方法
app.provide('$VueViewer', VueViewer);//大图查看



app.mount('#app')



// 路由（router） 脚手架 已安装
// 请求（axios）    npm install axios
// vuex(store)  npm install vuex@next --save            npm install pinia

// 组件
// less npm i less-loader less --save-dev
// view-ui-plus npm install view-ui-plus --save
// VXETable
// ICountUp
// echarts
// G2
// G6
// Print
// Quill（拖拽组件）
// 视频（video）
// 富文本
// font-awesome     npm install font-awesome --save

// 权限（单独写）
// 动态路由

// 打包gz npm i vite-plugin-compression
